//*************************************************
//Program #4       LFU.h
//*************************************************
//Names: Stephen Durfrey,  Andrew Brock
//Due: April 23, 2010
//Operating Systems
//Related Files:  LFU.cpp
// Least-Frequently-Used PGA: the page with the smallest count 
//  be replaced.

#ifndef LFU_H
#define LFC_H

#include "Page_Replacement_Algorithm.h"

class LFU : Page_Replacement_Algorithm
{
	private:
		void removePage();
		vector<int>::iterator ref_page;
		vector<int>::iterator ref_used;
		vector<int> times_used;
		vector<int>::iterator findFrame();
		vector<int>::iterator checkFrame(vector<int>::iterator check);


	public:
		LFU();
		void init(int frames, vector<int> ref_str);
		void run();


};

#endif

